
package es.udc.emarketapp.emarket.model.admin.dao;

import es.udc.emarketapp.emarket.model.admin.vo.AdminVO;
import es.udc.fbellas.j2ee.util.exceptions.InternalErrorException;
import es.udc.fbellas.j2ee.util.sql.GeneralOperations;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;


public class MySQLAdminDAO extends AbstractSQLAdminDAO {
    
 
    public AdminVO create(Connection connection, AdminVO adminVO)
    	throws InternalErrorException{
	
	PreparedStatement preparedStatement = null;
	
	try {
	    
	    /*Creamos el statement*/
	    String query = "INSERT INTO administrador (id_admin, pass,) " +
                           "VALUES (?, ?,)";

	    preparedStatement = connection.prepareStatement(query);
	    
	    /*Ahora lo llenamos con los parametros que se quiere*/
	    int i = 1;
	    preparedStatement.setString(i++, adminVO.getIdAdmin());
	    preparedStatement.setString(i++, adminVO.getPass());

	    
	    // Execute query.
	    int insertedRows = preparedStatement.executeUpdate();
	
	    if (insertedRows == 0){
		throw new SQLException("No se pudo insertar la fila a la tabla" +
                    " 'Usuario'");
	    }
	    
	    if (insertedRows > 1){
		throw new SQLException("Fila duplicada en la tabla 'Administrador'");
	    }
	    
	    return adminVO;

	} catch (SQLException e) {
	    throw new InternalErrorException(e);
	} finally {
	    GeneralOperations.closeStatement(preparedStatement);
	}

    }


    
}
